This invention relates to the graphic display of line segments, and more particularly, to the generation of digital approximations of line segments on limited precision display devices.
Straight line segments, or vectors, are used a great deal in computer generated drawings. They occur in block diagrams, bar charts and graphs, civil and mechanical engineering drawings, logic schematics, and architectural plans, to name a few examples of commonly displayed drawings. Furthermore, curves can be approximated quite effectively by sequences of short straight line segments.
The precision of digitally generated displays, e.g. cathode-ray tube (CRT) displays, is limited by the density, or number, of addressable points in the display area, or screen. Consequently, line segments, or vectors, must be approximated by a concatenation of short horizontal, vertical, and diagonal line segments, referred to herein as "pumps," drawn between adjacent addressable points on the screen. The choice of points for such an approximation is often determined by a digital differential analyzer (DDA), an algorithm which generates a sequence of ordered pairs of numbers which indicate the subsequent adjacent addressable point to which the electron beam is directed from the current point in order to approximate a given line segment, Newman and Sproull, Principles of Interactive Computer Graphics, Second Edition (McGraw-Hill Book Company, New York, 1979), pgs. 20-27. Typically, the input to the DDA is the starting coordinates of a vector, the vector's component in the horizontal, or X, direction, and the vector's component in the vertical, or Y, direction.
Digital vector generators are hardware digital systems for implementing DDAs. Digital vector generators produce the X and Y coordinate signals which direct a CRT electron beam from addressable point to addressable point in order to draw a DDA-approximation to a line segment on the CRT screen. Currently used digital vector generators draw every pump at the same rate, regardless of whether it is vertical, horizontal, or diagonal. The pump-per-unit-time rate is constant, but the amount of phosphor traversed per unit time varies. In other words, the velocity at which the CRT electron beam traverses the screen phosphor varies depending on whether it is making a diagonal, or horizontal or vertical sweep. Consequently, in random-scanned CRT displays diagonal vectors appear less bright than horizontal or vertical vectors because the CRT electron beam deposits fewer electrons per unit length of phosphor along the longer diagonal pump paths than the shorter vertical or horizontal pump paths. The difference in brightness is quite discernable in vectors having slopes near forty-five degrees.
The foregoing illustrates a limitation of current display technology. It would be advantageous to provide an alternative digital vector generator to presently available devices which corrects, in whole or in part, the direction-dependent intensity differences between vectors.